
#ifndef __VIRTUAL_CLIPBOARD_CLIENT_H__
#define __VIRTUAL_CLIPBOARD_CLIENT_H__

#include "../LPC/request.h"

PVIRTUAL_CLIPBOARD_RPL GetVirtualMemoryHandle(HANDLE hMem);
void AddVirtualMemoryHandle(HANDLE hMem);
void ClearVirtualMemoryHandle();

DWORD LPC_OpenClipboard();
DWORD LPC_CloseClipboard();

DWORD LPC_ClipboardGetData(HANDLE& Return, UINT Format, 
    PUINT FormatRet, PBOOL GlobalHandle);
DWORD LPC_ClipboardSetData(HANDLE& Return, UINT Format, HANDLE hMem,
    BOOL GlobalHandle, BOOL IncSerialNumber);

DWORD LPC_ClipboardGetDataCount(DWORD& Return);
DWORD LPC_ClipboardClearData(BOOL& Return);

DWORD LPC_ClipboardExistFormat(BOOL& Return, UINT Format);
DWORD LPC_ClipboardEnumFormat(UINT& Return, UINT Format);

DWORD LPC_ClipboardGetPriorityFormat(INT& Return, UINT* FormatPriorityList, INT Count);
DWORD LPC_ClipboardUpdateFormat(BOOL& Return, PUINT Formats,
    UINT Count, PUINT FormatsOut);

DWORD LPC_ClipboardGetSequence(DWORD& Return);

#endif
